//
// Created by Administrator on 2021/10/22.
//

#ifndef MRENDER_ORTHOCAMERA_H
#define MRENDER_ORTHOCAMERA_H


#include "Camera.h"
#include "../renderer/MRender.h"
#include "../helpers/OrthoCameraHelper.h"

class OrthoCamera : public Camera{
private:
    Vector3 target;
public:
    /**
     * 获得投影矩阵
     * @return 矩阵
     */
    Matrix4x4 getProjectionMatrix() override;
    /**
     * 获得视图矩阵
     * @return 矩阵
     */
    Matrix4x4 getViewMatrix() override;

public:
    void onInit() override;
    void drawUI() override;
public:
    //OrthoCamera();
    OrthoCamera(float width, float height, float depth);
    OrthoCamera(const float left = -1.0f, const float right = 1.0f, const float bottom = -1.0f, const float top = 1.0f, const float nearplan = 0.3f, const float farplan = 1000.0f);
};


#endif //MRENDER_ORTHOCAMERA_H
